Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for logical types #32

Closed
wants to merge 35 commits into from
Closed

Add support for logical types #32

wants to merge 35 commits into from

Conversation

olib963
Copy link

@olib963 olib963 commented Nov 23, 2018

Adds support for:

  • Timestamp-millis as java.time.Instant
  • Time-millis as java.time.LocalTime
  • Date as java.time.LocalDate
  • UUID as java.util.UUID
  • Decimal as java.math.BigDecimal, also an implementation that automatically sets the scale and rounds according to the mode given.
  • Adding your own conversions/overloading defaults by passing e.g. (datum-writer schema (merge c/default-conversions {:decimal (c/decimal-conversion-rounded :half-up)}))

Keywords to be (de)serialised to/from strings by adding the clojureType prop i.e. {"type":"sting", "clojureType":"keyword"}

Tackles #29. I did originally implement an extensible version that allowed custom logical types and conversions. To be honest it was difficult to work with so I refactored to a simpler solution under the assumption it uses most of the types people want to use and we can make it extensible in the future if needed.

@iku000888
Copy link

This is great and long awaited! Cheers from me :)

@llasram
Copy link
Member

llasram commented Nov 27, 2018

So I'm not sure if @robbieh is going to chime in or not, but I don't believe anyone who currently has commit access to this repository is actively using Clojure for new development, or is even really maintaining these projects. The company to which which this Github organization "belongs" hasn't existed for three(?) years. And has a code-base which is mostly stuck on Clojure 1.6 forever due to none of us being able to find all the places CLJ-1738 wrought havoc.

Abracad in particular of the Damballa open source Clojure projects still seems to be actively used and in need of a maintainer. It seems that one could do worse than soliciting new maintainers as part of the discussion on what is clearly a significant chunk of work on the project. Assuming @robbieh agrees, @olib963, would you be interested in taking over this project? Any other potential volunteers paying attention here?

@olib963
Copy link
Author

olib963 commented Nov 27, 2018

I would be happy to look into that if this repo is no longer maintained, it seems like this would be a useful tool to keep up to date.

@olib963
Copy link
Author

olib963 commented Nov 28, 2018

@iku000888 I have published https://github.com/ovotech/abracad to clojars. I will probably look at maintaining that one instead because then it isn't just me :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants